// page/wages//pages/week_ranking/week_ranking.js

var rangkingData = getApp().http.week_rankingPost
const perpage = 10
var page = 1
var canPullUpLoad = true
var util = getApp().util
Page({

  /**
   * 页面的初始数据
   */
  data: {
    dataArray: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var myThis = this
    page = 1
    this.getRankingData(page, function(success, msg, rangkingData){
      if (success) {
        myThis.setData({
          dataArray: myThis.data.dataArray.concat(rangkingData)
        })
      } else {
        wx.showToast({
          title: msg,
          icon: "none",
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

    if(!this.data.get_data){
      wx.showToast({
        title: "没有更多数据",
        icon: "none",
      })
      return;
    }

    var oldPage = page,
    page = 1
    var myThis = this
    this.getRankingData(page, function(success, msg, data){
      if (success) {
        myThis.setData({
          dataArray: data,
        })
      } else {
        page = oldPage,
        wx.showToast({
          title: msg,
          icon: "none",
        })
      }
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if(!this.data.get_data){
      wx.showToast({
        title: "没有更多数据",
        icon: "none",
      })
      return;
    }
    page = page + 1
    var myThis = this
    this.getRankingData(page, function(success, msg, data){
      if (success) {
        myThis.setData({
          dataArray: myThis.data.dataArray.concat(data)
        })
      } else {
        page = page - 1
        wx.showToast({
          title: msg,
          icon: "none",
        })
      }
    })
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    return util.shareSet(this, "");
  },

  /**
   * 加载排名数据
  */
  getRankingData: function (page, cb) {
    var userInfo = wx.getStorageSync('userinfo')
    var hallInfo = wx.getStorageSync('hall_info')
    var myThis = this
    rangkingData ({
      token: userInfo.token,
      hall_id: hallInfo.id,
      page: page,
      perpage: perpage,
    }).then(function(result) {
      if (result.code != 0) {
        typeof cb == "function" && cb(false, result.msg, null)
      } else {
        if (result.data !== null && Object.prototype.toString.call(result.data) === '[object Array]') {
          var newData = result.data
          var userInfo = wx.getStorageSync('userinfo')
          // 遍历数据，只有总条目第一条展开
          for (var i = 0; i < newData.length; i++) {
            var item = newData[i]
            if (i == 0 && page == 1) {
              item.open = true
            } else {
              item.open = false
            }
            // 遍历users，设置open为false
            for (var j = 0; j < item.users.length; j++) {
              var user = item.users[j];
              user.open = false
              // 是否自己
              if (user.uid == userInfo.uid) {
                user.isMe = true
              } else {
                user.isMe = false
              }
            }
          }
          myThis.setData({
            get_data:result.get_data
          })
          typeof cb == "function" && cb(true, "加载成功", result.data)
        } else {
          typeof cb == "function" && cb(false, "服务器数据错误", null)
        }
      }
    })
  },

  /**
   * 时间段点击事件
  */
  durationHeadTap: function(event) {
    console.log(event)
    var index = event.currentTarget.dataset.index
    var changeStr = 'dataArray['+index+'].open'
    this.setData({
      [changeStr]: !this.data.dataArray[index].open,
    })
  },

  /**
   * 具体条目点击事件
  */
  itemTap: function(event) {
    console.log(event)
    var durationIndex = event.currentTarget.dataset.durationindex
    var userIndex = event.currentTarget.dataset.userindex
    console.log("durationIndex:---"+durationIndex+"----userIndex:---"+userIndex)
    var changeStr = 'dataArray['+durationIndex+'].users['+userIndex+'].open'
    this.setData({
      [changeStr]: !this.data.dataArray[durationIndex].users[userIndex].open,
    })
  }
})